package com.payment.system.mapper;

import com.payment.system.domain.Acq;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 通道 数据层
 * 
 * @author payment
 * @date 2019-01-01
 */
public interface AcqMapper 
{
	/**
     * 查询通道信息
     * 
     * @param id 通道ID
     * @return 通道信息
     */
	public Acq selectAcqById(String id);
	
	/**
     * 查询通道列表
     * 
     * @param acq 通道信息
     * @return 通道集合
     */
	public List<Acq> selectAcqList(Acq acq);
	
	/**
     * 新增通道
     * 
     * @param acq 通道信息
     * @return 结果
     */
	public int insertAcq(Acq acq);
	
	/**
     * 修改通道
     * 
     * @param acq 通道信息
     * @return 结果
     */
	public int updateAcq(Acq acq);
	
	/**
     * 删除通道
     * 
     * @param id 通道ID
     * @return 结果
     */
	public int deleteAcqById(String id);
	
	/**
     * 批量删除通道
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteAcqByIds(String[] ids);

	//根据通道名称查询通道
    List<Acq> selectAcqListByName(@Param("acqName") String acqName);
	//获取通道最大的code
	String selectMaxAcqCode();

	//根据生效状态查询通道集合
	List<Acq> selectAcqListByStatus(@Param("status") String status);
	//获取app端使用的列表根据type查询
	public List<Acq> selectAcqListByApp(@Param("type")String type);

	/**
	 * 查询通道信息
	 *
	 * @param code 通道编码 (公司ID)
	 * @return 通道信息
	 */
	public Acq selectAcqByCode(String code);
	/**
	 * 根据大小额类型查询对应通道信息
	 * @param isSamll
	 * @param acqIds 
	 * @return
	 */
	public List<Acq> selectAcqListByIsSmall(@Param("isSamll")Integer isSamll,@Param("acqIds") String acqIds);


	/**
	 * 查询通道需要签约的最近一条记录
	 * @return
	 */
	public  Acq selectAcqListByBindtype();

}